-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CMake support #68
base: master
Are you sure you want to change the base?
CMake support #68
Conversation
Thank you for the PR! Allow me to I apologize upfront. Usually, I do not question user requests; after all, there is a user, and they have a request, so obviously, there is a need or a want. However, personally, I hate CMake. I hate it so much that I have spent three years designing and implementing a build system to remove it from my other project, a build system that would allow building on Windows, Mac OSX, Linux, the BSD's, etc. And I was going to add support for that build system to So, I apologize because I can tell you put a lot of work into this, but for once, I am asking you to provide justification. I won't ask for much; I just need to know why CMake is necessary and why you believe that keeping a fork would not serve. (Since a separate build system won't touch the code, it seems like an easy fork to keep.) Again, I'm sorry. Also, if I do decide to merge, I'm going to need you to explain the more complicated bits; I've tried to avoid complicated CMake as much as possible. But I need to be able to maintain the CMake code without your help. |
@gavinhoward I'm obsessed with interoperability. CMake is one way to achieve this. Open to your build system also, where I plan on taking
…and yes I know you support some of these targets already. There are some other nice advantages like CPack and CTest, but honestly there are a number of other nice build generators out there and I tend to choose CMake just because it's the most popular and has a good number of generators. |
Okay, interoperability is something I can understand. But oh boy, I would love it if my build system could do all that. That said, my build system (named Rig, by the way) won't be able to cross-compile in the first release, so some of those targets may not be possible in the first release of Rig. (OpenWatcom is the one that makes me most nervous.) So I'll make you a deal. I'll do these things:
as long as you'll do the following:
If it can, I'd really like to remove the CMake then. If it can't, well, it can't, and CMake will stay in perpetuity. In other words, I'll add CMake now if you'll give Rig a fair shake later. Oh, and point number 2 is crucial; if I can't test By the way, I only need to know how to set up environments for:
I have the capability for the rest. |
Great yeah sure I'll give it a shot. No guaranteed time commitments (because of everything going on in my life); but I'll see what I can do. My email is samuel I wrote some Windows Batch scripts for building on these different targets, and lots of things can run in a good CI/CD environment (e.g., GitHub Actions, Cirrus CI, &etc.): https://github.com/offscale/win-cmake-multi-build Obviously still a ways to go to support all the different targets I'm interested in. But yeah something clean like your |
Okay. Thank you. Please let me know when this PR is not WIP. |
Sure thing, I'll see if I can get to it later in the week. Last remaining errors:
Which should be defined in an object file that you define in your existent configure script: contents=$(replace "$contents" "BC_HELP_O" "$bc_help") So I just need to reverse-engineer it into CMake and we should be good to go™. |
c2352eb
to
abbb849
Compare
7d79105
to
5378eaa
Compare
WiP
Can finish if you like. Can also send you a PR on your own website, just make me an account